package com.framework.service.common;

import com.framework.common.model.response.R;
import com.framework.model.common.vo.DataSourceConfigVo;
import java.util.List;

/**
 * @author 龘鵺
 * @version 1.0
 * @className com.framework.service.common.DataSourceConfigService
 * @description 数据源配置接口类
 * @datetime 2025-05-06 14:13:10
 */
public interface DataSourceConfigService {
    /**
     * @param id 1 编号
     * @return com.framework.model.common.vo.DataSourceConfigVo
     * @title 根据编号查询数据源配置
     * @description 根据编号查询数据源配置
     * @author 龘鵺
     * @datetime 2025-05-06 14:13:10
     * @version 1.0
     */
    DataSourceConfigVo getByIdParam(Long id);

    /**
     * @param row 1 数据源配置类
     * @return java.util.List<com.framework.model.common.vo.DataSourceConfigVo>
     * @title 查询数据源配置集合
     * @description 查询数据源配置集合
     * @author 龘鵺
     * @datetime 2025-05-06 14:13:10
     * @version 1.0
     */
    List<DataSourceConfigVo> findByList(DataSourceConfigVo row);

    /**
     * @param row 1 数据源配置类
     * @return com.framework.common.model.response.R
     * @title 分页查询数据源配置列表
     * @description 分页查询数据源配置列表
     * @author 龘鵺
     * @datetime 2025-05-06 14:13:10
     * @version 1.0
     */
    R<?> findParamPageList(DataSourceConfigVo row);

    /**
     * @param row 1 数据源配置类
     * @return com.framework.common.model.response.R
     * @title 新增数据源配置
     * @description 新增数据源配置
     * @author 龘鵺
     * @datetime 2025-05-06 14:13:10
     * @version 1.0
     */
    R<?> save(DataSourceConfigVo row) throws Exception;

    /**
     * @param row 1 数据源配置类
     * @return com.framework.common.model.response.R
     * @title 编辑数据源配置
     * @description 编辑数据源配置
     * @author 龘鵺
     * @datetime 2025-05-06 14:13:10
     * @version 1.0
     */
    R<?> edit(DataSourceConfigVo row) throws Exception;

    /**
     * @param id 1 编号
     * @return com.framework.common.model.response.R
     * @title 删除数据源配置
     * @description 删除数据源配置
     * @author 龘鵺
     * @datetime 2025-05-06 14:13:10
     * @version 1.0
     */
    R<?> delete(Long id);

    /**
     * @param idList 1 编号集合
     * @return com.framework.common.model.response.R
     * @title 批量删除数据源配置
     * @description 批量删除数据源配置
     * @author 龘鵺
     * @datetime 2025-05-06 14:13:10
     * @version 1.0
     */
    R<?> batchDeleteList(List<Long> idList);

    /**
     * @param id 1 编号
     * @return com.framework.common.model.response.R
     * @title 启用|禁用，数据源配置
     * @description 启用|禁用，数据源配置
     * @author 龘鵺
     * @datetime 2025-05-06 14:13:10
     * @version 1.0
     */
    R<?> enable(Long id);

    /**
     * @return com.framework.common.model.response.R
     * @title 查询使用数据库连接信息
     * @description 查询使用数据库连接信息
     * @author 龘鵺
     * @datetime 2025-05-06 14:13:10
     */
    R<?> findByDataSourceList();

    /**
     * @return com.framework.common.model.response.R
     * @title 重置所有数据库连接
     * @description 重置所有数据库连接
     * @author 龘鵺
     * @datetime 2025-05-06 14:13:10
     * @version 1.0
     */
    R<?> reset();
}